import request from '@/utils/request'
import { praseStrEmpty } from "@/utils/ruoyi";
import qs from 'qs'
// 查询用户列表
export function listUser(data) {
  return request({
    url: '/system/user/list',
    method: 'post',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: qs.stringify(data)
  })
}

// 查询用户详细
export function getUser(userId) {
  return request({
    url: '/system/user/get/' + praseStrEmpty(userId),
    // url: '/system/user/' + praseStrEmpty(loginId),
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: 'get'
  })
}

// 09、检测用户名是否存在
export function checkLoginIdUnique(data) {
  return request({
    url: '/system/user/checkLoginIdUnique',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: 'post',
    data: qs.stringify(data)
  })
}

// 新增用户
export function addUser(data) {
  return request({
    url: '/system/user/add',
    method: 'post',
    data: data
  })
}

// 修改用户
export function updateUser(data) {
  return request({
    url: '/system/user/edit',
    method: 'POST',
    data: data
  })
}

// 删除用户
export function delUser(data) {
  return request({
    url: '/system/user/remove',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: qs.stringify(data)

  })
}

// 导出用户
export function exportUser(query) {
  return request({
    url: '/system/user/export',
    method: 'get',
    params: query
  })
}

// 用户密码重置
export function resetUserPwd(data) {
  return request({
    url: '/system/user/resetPwd',
    method: 'POST',
    data: data
  })
}


// 查询用户个人信息
export function getUserProfile() {
  return request({
    url: '/system/user/profile',
    method: 'get'
  })
}

// 修改用户个人信息
export function updateUserProfile(data) {
  return request({
    url: '/system/user/profile',
    method: 'post',
    data: data
  })
}

// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
  const data = {
    oldPassword,
    newPassword
  }
  return request({
    url: '/system/user/profile/updatePwd',
    method: 'POST',
    headers: { 'content-type': 'application/x-www-form-urlencoded' },
    data: qs.stringify(data)
  })
}

// 用户头像上传
export function uploadAvatar(data) {
  return request({
    url: '/system/user/profile/avatar',
    method: 'post',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: data
  })
}

// 下载用户导入模板
export function importTemplate() {
  return request({
    url: '/system/user/importTemplate',
    method: 'get'
  })
}

// 查询授权角色
export function getAuthRole(userId) {
  return request({
    url: '/system/user/authRole/' + userId,
    method: 'get'
  })
}

// 保存授权角色
export function updateAuthRole(data) {
  return request({
    url: '/system/user/authRole',
    method: 'put',
    params: data
  })
}

// 保存授权角色
export function updateUserStatus(data) {
  return request({
    url: '/system/user/updateUserStatus',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: qs.stringify(data)
  })
}

// 10、管理员关闭用户双因子认证
export function cancleUserTwoFactorAuthentication(data) {
  return request({
    url: '/system/user/cancleUserTwoFactorAuthentication',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: qs.stringify(data)
  })
}

// 11、设置用户允许访问时间
export function settingUserLimit(data) {
  return request({
    url: '/system/user/settingUserLimit',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: qs.stringify(data)
  })
}

// 12、取消用户允许访问时间 
export function cancelUserLimit(data) {
  return request({
    url: '/system/user/cancelUserLimit',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: qs.stringify(data)
  })
}

//  获取用户权限 角色 用户组。
export function getUserPower(params) {
  return request({
    url: '/system/user/profile/power',
    method: 'GET',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    params: params
  })
}
